<?xml version="1.0" encoding="UTF-8"?>
<html filename="docs/SAX/ILocator.html">
<body>
<a id="#top"/>
<h1>
	                Interface Summary : ILocator </h1> Interface for associating a SAX event with a document location.

 <blockquote>
 <em>This module, both source code and documentation, is in the
 Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
 </blockquote>

 <p>If a SAX parser provides location information to the SAX
 application, it does so by implementing this interface and then
 passing an instance to the application using the content
 handler's <a href="../SAX/IContentHandler.html#setDocumentLocator">
 setDocumentLocator</a> method.  The application can use the
 object to obtain the location of any other SAX event
 in the XML source document.</p>

 <p>Note that the results returned by the object will be valid only
 during the scope of each callback method: the application
 will receive unpredictable results if it attempts to use the
 locator at any other time, or after parsing completes.</p>

 <p>SAX parsers are not required to supply a locator, but they are
 very strongly encouraged to do so.  If the parser supplies a
 locator, it must do so before reporting any other document events.
 If no locator has been set by the time the application receives
 the <a href="../SAX/IContentHandler.html#startDocument">startDocument</a>
 event, the application should assume that a locator is not
 available.</p>

<br/><b>Since : </b> SAX 1.0
<br/><b>See : </b> <a href="../SAX/IContentHandler.html#setDocumentLocator">IContentHandler.setDocumentLocator</a>
<h2>
	              Methods
	            </h2>
<div style="padding-left:10px">
<a href="#getPublicId">
	                  function
	                 getPublicId() : PSAXChar</a>
<br/>
<a href="#getSystemId">
	                  function
	                 getSystemId() : PSAXChar</a>
<br/>
<a href="#getLineNumber">
	                  function
	                 getLineNumber() : Integer</a>
<br/>
<a href="#getColumnNumber">
	                  function
	                 getColumnNumber() : Integer</a>
<br/>
</div>
<br/>
<h2>
	                Properties
	              </h2>
<div style="padding-left:10px"/>
<br/>
<hr width="100%"/>
<a name="#getPublicId">
<p>
<b>function</b> getPublicId() : PSAXChar; </p>
</a> Return the public identifier for the current document event.

 <p>The return value is the public identifier of the document
 entity or of the external parsed entity in which the markup
 triggering the event appears.</p>

<br/><b>Result : </b> A PSAXChar containing the public identifier, or
         empty if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getSystemId">ILocator.getSystemId</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getSystemId">
<p>
<b>function</b> getSystemId() : PSAXChar; </p>
</a> Return the system identifier for the current document event.

 <p>The return value is the system identifier of the document
 entity or of the external parsed entity in which the markup
 triggering the event appears.</p>

 <p>If the system identifier is a URL, the parser must resolve it
 fully before passing it to the application.  For example, a file
 name must always be provided as a <em>file:...</em> URL, and other
 kinds of relative URI are also resolved against their bases.
 WARNING: conformance in SAX for Pascal among vendors is not strong
 in this area. Often the implementation will send only a file name with
 no scheme.</p>

<br/><b>Result : </b> A PSAXChar containing the system identifier, or empty
         if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getPublicId">ILocator.getPublicId</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getLineNumber">
<p>
<b>function</b> getLineNumber() : Integer; </p>
</a> Return the line number where the current document event ends.
 Lines are delimited by line ends, which are defined in
 the XML specification

 <p>
      <strong>Warning:</strong> The return value from the method
 is intended only as an approximation for the sake of diagnostics;
 it is not intended to provide sufficient information
 to edit the character content of the original XML document.
 In some cases, these &quot;line&quot; numbers match what would be displayed
 as columns, and in others they may not match the source text
 due to internal entity expansion.  </p>

 <p>The return value is an approximation of the line number
 in the document entity or external parsed entity where the
 markup triggering the event appears.</p>

 <p>If possible, the SAX driver should provide the line position
 of the first character after the text associated with the document
 event.  The first line is line 1.</p>

<br/><b>Result : </b> The line number, or -1 if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getColumnNumber">ILocator.getColumnNumber</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#getColumnNumber">
<p>
<b>function</b> getColumnNumber() : Integer; </p>
</a> Return the column number where the current document event ends.
 This is one-based number of <code>Char</code> or <code>WideChar</code>
 values since the last line end. This is not the number of
 physical bytes, but is the number of logical characters (which may use
 more than one byte per character).

 <p>
      <strong>Warning:</strong> The return value from the method
 is intended only as an approximation for the sake of diagnostics;
 it is not intended to provide sufficient information
 to edit the character content of the original XML document.
 For example, when lines contain combining character sequences, wide
 characters, surrogate pairs, or bi-directional text, the value may
 not correspond to the column in a text editor's display. </p>

 <p>The return value is an approximation of the column number
 in the document entity or external parsed entity where the
 markup triggering the event appears.</p>

 <p>If possible, the SAX driver should provide the line position
 of the first character after the text associated with the document
 event.</p>

 <p>If possible, the SAX driver should provide the line position
 of the first character after the text associated with the document
 event.  The first column in each line is column 1.</p>

<br/><b>Result : </b> The column number, or -1 if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getLineNumber">ILocator.getLineNumber</a>
<br/>
<p>
<a href="#top">Top</a>
</p>
<div style="padding-left:10px">
<hr width="100%"/>
<a name="#PublicId">
<p> <b>PublicId</b>
</p>
</a> Extension property to get the public identifier

<br/><b>Result : </b> A PSAXChar containing the public identifier, or
         empty if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getPublicId">ILocator.getPublicId</a>
<br/>
<p style="margin-left:30px">
<code>property PublicId : PSAXChar
      read getPublicId</code>
</p>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#SystemId">
<p> <b>SystemId</b>
</p>
</a> Extension property to get the system identifier

<br/><b>Result : </b> A PSAXChar containing the system identifier, or
         empty if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getSystemId">ILocator.getSystemId</a>
<br/>
<p style="margin-left:30px">
<code>property SystemId : PSAXChar
      read getSystemId</code>
</p>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#LineNumber">
<p> <b>LineNumber</b>
</p>
</a> Extension property to get the line number

<br/><b>Result : </b> The line number, or -1 if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getLineNumber">ILocator.getLineNumber</a>
<br/>
<p style="margin-left:30px">
<code>property LineNumber : Integer
      read getLineNumber</code>
</p>
<p>
<a href="#top">Top</a>
</p>
<hr width="100%"/>
<a name="#ColumnNumber">
<p> <b>ColumnNumber</b>
</p>
</a> Extension property to get the column number

<br/><b>Result : </b> The column number, or -1 if none is available.
<br/><b>See : </b> <a href="../SAX/ILocator.html#getColumnNumber">ILocator.getColumnNumber</a>
<br/>
<p style="margin-left:30px">
<code>property ColumnNumber : Integer
      read getColumnNumber</code>
</p>
<p>
<a href="#top">Top</a>
</p>
</div>
<br/>
</body>
</html>